package it.dija.burraco;


public class TavoloDa4 implements ITavolo {

	/**
	 * 
	 */
	private static final long serialVersionUID = 4085025226097113233L;


	public enum posizione { NS, EW }
	
	private long numTavolo;
	private Coppia[] coppia = new Coppia[2];
	
	public TavoloDa4() {
	}
	
	public TavoloDa4(long numeroTavolo) {
		numTavolo = numeroTavolo;
	}
	
	public TavoloDa4(Coppia c1, Coppia c2) {
		coppia[0] = c1;
		coppia[1] = c2;
	}
	
	public TavoloDa4(Coppia c1, Coppia c2, long numeroTavolo) {
		numTavolo = numeroTavolo;
		coppia[0] = c1;
		coppia[1] = c2;
	}
	
	public long getNumTavolo(){
		return numTavolo;
	}
	/*
	public Coppia getCoppia(posizione p) {
		if (p == posizione.EW) return coppiaEW;
		if (p == posizione.NS) return coppiaNS;
		else return null;
	}
	*/
	public Coppia getCoppia(int index) {
		if (index >=1 && index <=2) return coppia[index-1];
		else return null;
	}
	
	
	public boolean sonoAvversari(Giocatore g1, Giocatore g2) {
		Coppia c1 = this.getCoppia(1), c2 = this.getCoppia(2);
		
		boolean blnAvversari = false; 
		blnAvversari = blnAvversari || ( ( (c1.getGiocatore(1) == g1) || (c1.getGiocatore(2) == g1) ) && ( (c2.getGiocatore(1) == g2) || (c2.getGiocatore(2) == g2) ));
		blnAvversari = blnAvversari || ( ( (c1.getGiocatore(1) == g2) || (c1.getGiocatore(2) == g2) ) && ( (c2.getGiocatore(1) == g1) || (c2.getGiocatore(2) == g1) ));
		return blnAvversari;
	}
	
	public boolean sonoEntrambiAlTavolo(Giocatore g1, Giocatore g2) {
		boolean g1AlTavolo, g2AlTavolo;
		Coppia c1 = this.getCoppia(1), c2 = this.getCoppia(2);
		
		g1AlTavolo = c1.getGiocatore(1) == g1 || c1.getGiocatore(2) == g1 || c2.getGiocatore(1) == g1 || c2.getGiocatore(2) == g1;
		g2AlTavolo = c1.getGiocatore(1) == g2 || c1.getGiocatore(2) == g2 || c2.getGiocatore(1) == g2 || c2.getGiocatore(2) == g2;
		
		return g1AlTavolo && g2AlTavolo;
	}

	@Override
	public String getNomiGiocatori() {
		return coppia[0].getNomiCoppia() + "\t> VS <\t" + coppia[1].getNomiCoppia();
	}
	

	
}
